#ifndef ASOCIACION_H
#define ASOCIACION_H

template <class Clave, class Valor>
class Asociacion
{
public:
	Asociacion(const Clave& clave, const Valor& valor)
	{
		this->clave = clave;
		this->valor = valor;
	}

	bool operator==(const Asociacion& asociacion) { return this->clave == asociacion.clave; }
	bool operator<(const Asociacion& asociacion) { return this->clave < asociacion.clave; }
	bool operator>(const Asociacion& asociacion) { return this->clave > asociacion.clave; }

	const Clave& GetClave() const { return clave; }

	const Valor& GetValor() const { return valor; }
	void SetValor(const Valor& valor) { this->valor = valor; }

private:
	Clave clave;
	Valor valor;
};

#endif